System and method for data collection and update utilizing surrogate e-mail addresses using a server

ABSTRACT

A system and method for data collection and update utilizing surrogate e-mail addresses using a server. An e-mail client generates an e-mail message comprising a surrogate e-mail address and data elements conveyed within standard fields of the e-mail message. The surrogate e-mail address also comprises data and instructions directed to a specialized software program. A message server parses the surrogate e-mail address and the e-mail content. Information relating to a specialized software program is extracted and translated into instructions and data elements. The specialized software program operates on the data elements based on the instructions obtained from the e-mail message.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority under 35 U.S.C. § 119(e) fromprovisional application No. 60/373,822 filed Apr. 18, 2002. The No.60/373,822 provisional application is incorporated by reference herein,in its entirety, for all purposes.

FIELD OF THE INVENTION

[0002] The present invention relates to the acquisition of information.More specifically, the present invention relates to using a ubiquitoussoftware application to capture instructions and data elements directedto a specialized software program.

BACKGROUND OF THE INVENTION

[0003] In many companies, specialized software programs are acquired ordeveloped to meet a specific business requirement of the company. A fewexamples of these specialized software programs include time collectionand/or time billing software for professional services, customerrelationship management software for sales organizations, accounting andpayroll software for accounting groups, and human resources managementsoftware for staffing professionals.

[0004] These specialized programs often include complex and powerfulfeatures that represent the value for which the company invested in thespecialized software. However, using specialized software generallyrequires training and assistance until the features are mastered.Productivity is lost when employees spend time in training or strugglingto learn to use the specialized software. The investment of time inlearning to use the specialized software is usually justified for thoseemployees whose job requires them to utilize complex and powerfulfeatures to deliver value to the business. But for those employees whoseinteraction with the specialized software is limited to simple andoccasional data entry or correction, the loss of productivity whilestruggling to understand unfamiliar software programs is much moredifficult to justify. In many companies, the group of employees fullyutilizing the features of the specialized software is quite small incomparison to the group whose use of the software is limited to simpleentry or updating of data.

[0005] By way of illustration, the features of a time collection andbilling software program are typically exploited to their fullest extentby a small number of administrative and accounting staff membersresponsible for generating invoices from time entries, applying invoicepayments, and generating staff payroll. The timekeeping professionals,who greatly outnumber the administrative staff in the typical firm, needonly enter their time entries. Entering a time entry requires conveyinga few bits of information such as the client and project, the dates andduration of work performed, and perhaps some notes about the work.Unfortunately, in order to enter those bits of information theprofessional must attend training or struggle to learn to use the timecollection/billing software, despite the fact that the timekeepingprofessional will never utilize more than a small percentage of thesoftware features.

[0006] In the case of customer relationship management software, theprofessional sales staff may fully utilize the myriad features of theprogram in order to conduct campaigns, follow up on leads, and trackcustomer purchase activity. However, other employees such as customerservice representatives, mailroom personnel, even receptionists may needto occasionally create, update or look up customer contact information.In order to perform these simple tasks, the other employees must betrained and assisted in the use of the customer relationship managementsoftware when they utilize only its simplest features.

[0007] Accounting and payroll software is typically among the mostcomplex of the specialized software programs illustrated. Accountingstaff require the ability to configure and utilize a wide range ofaccounting rules and principles embodied in the software. This oftenrequires an intimate knowledge of both accounting practices andsoftware. In most companies, few individuals understand the intricaciesinvolved, yet a large number of employees may be required to submitexpense reports for reimbursement or submit other expenses that must beapplied to a client invoice. This large group of employees musttherefore be trained to use some portion of the accounting software inorder to submit these expenses, diminishing their productivity.

[0008] Human resources staffs require access to a wealth of informationabout former employees, current employees, and job candidates, includingwork eligibility, employment history, work schedules,qualifications/skills, salary history, benefits information and muchmore. In most companies, the human resources staff is a small group, yetevery employee must occasionally interact with the human resourcessoftware to request paid time off, to report sick time, to modify taxstatus, or to update benefit information.

[0009] Despite their specificity, these specialized software programs(both those exemplified above and many others not specificallymentioned) have several common elements. All store their data in sometype of datastructure. All require some form of data entry and dataupdate, and most have some method of exchanging information with otherexternal systems.

[0010] A final relevant observation is the contrasting ubiquity ofcertain other categories of software, such as e-mail and calendarprograms (e.g., Microsoft Outlook, Lotus Notes). In a given company, ahigh percentage of employees using a computer have access to one ofthese software programs. In addition, handheld devices with wireless orsynchronization capabilities such as RIM Blackberry, personal digitalassistants (e.g., Palm, iPaq), Internet-capable cellular telephones,two-way pagers, and other similar devices are increasingly utilized formessaging, calendaring, and other personal management and communicationactivities. Employees use these devices and software programs for a widerange of productive activities, making the training in their use easilyjustifiable for the company. These programs are often easier to use thanmore specialized programs because their publishers invest heavily in thedesign and testing of the software user interface to ensure usabilityacross a wide spectrum of computing skills. In addition, the veryubiquity of the software ensures that users have already learned to usethe software or will learn to use it in the normal course of business.

[0011] The calendar paradigm is an obvious choice for recording time, somany time tracking systems employ a calendar view within theirproprietary software. The disadvantage to the user is that theproprietary software represents a separate software application fromtheir personal information manager (e.g., Microsoft Outlook, LotusNotes). It is a separate calendar in a separate program with separateand additional learning and usage requirements.

[0012] A few other commercial software systems provide a type ofintegration with a personal information manager like Microsoft Outlookby injecting their own additional user interface elements into thepersonal information manager, such as menu commands, forms or dialogboxes. While this approach adds functionality, the external softwaremust be installed on the user's computer, where it provides separate andadditional user interface elements within the personal informationmanager. These additional user interface elements naturally carryadditional learning requirements. The advantage these products presentto the user experience is limited to the convenience of not having tolaunch a separate program. These products do not leverage the e-mailfunctionality to create or transport the time entries. Data is saved andretrieved in the normal storage media used by the proprietary software.

[0013] At least one company provides a time tracking system thatfacilitates offline time entry by leveraging the user's existing e-mailsoftware infrastructure. When offline, the proprietary software embedstime entry information into a specially formatted e-mail message. Thespecially formatted message is sent to a designated “gateway” e-mail boxthat is monitored by a proprietary software program. The gateway programthen reads the e-mail message, decodes the time entry information withinthe proprietary payload for entry into the time entry system. Thisapproach utilizes the store-and-forward capabilities of the user'smessaging system to provide an offline use mode. However, theproprietary software must be installed on the computer of each user inorder for that user to record time. The interface with which the userinteracts is the proprietary software's user interface, not theinterface of the existing e-mail system. The user is required to installand learn the proprietary software. The only role that the e-mail systemplays is in transporting the data when offline.

[0014] What would be useful would be a system and method that utilizesubiquitous software programs to permit users to provide input tospecialized software programs without the need for modification of theubiquitous software programs, without requiring the installation of anynew software on the user's computer, and without requiring excessiveuser training.

SUMMARY OF THE INVENTION

[0015] In an embodiment of the present invention, a user creates ane-mail message, addressing it to a surrogate e-mail address. A messageserver receives the e-mail message addressed to the surrogate e-mailaddress, interprets the address, extracts information from other messageparts (FROM, SUBJECT, NOTES, attachments, etc.) and directs aspecialized software program to enter, update or delete appropriate dataelements. The user is not, therefore, required to use, install or learnthe specialized software program. The user only needs to know how tosend an e-mail message and to whom the e-mail should be addressed.

[0016] Therefore, an aspect of the present invention is to use a messageserver to convey data and instructions to a specialized softwareprogram.

[0017] Another aspect of the present invention is the use of an e-mailaddress as a surrogate (a surrogate e-mail address) to representsignificant data elements in and/or operations upon a specializedsoftware program.

[0018] Yet another aspect of the present invention is a label that mapsto a surrogate e-mail address. By way of illustration and not as alimitation, a label that maps to a surrogate e-mail address may be inthe form of a contact entry in a contract list or in address book storedan e-mail server that is accessible to an e-mail client.

[0019] Yet another aspect of the present invention is a message serverthat parses industry-standard e-mail messages and e-mail messagescomprising meeting invitations, extracting from the e-mail messagefields of information directed to a specialized software program, andthen translating the information into a specific instruction or dataelements that are acted upon by a specialized software program.

[0020] Still another aspect of the present invention is a message serverthat monitors the e-mail server to determine if data has been recordedthat is reportable to a data server and transports the reportable datawithout further direction.

[0021] Another aspect of the present invention is a message server thatmonitors the specialized software program and provides updates to adirectory of surrogate e-mail addresses accessible to an e-mail client.By way of illustration and not as a limitation, the directory ofsurrogate e-mail addresses may be in the form of a contact list or anaddress book stored in an e-mail server that is accessible to an e-mailclient.

[0022] These and other aspects of the present invention will becomeapparent from a review of the description that follows.

[0023] In an embodiment of the present invention, a user creates ane-mail message, addressing it to a surrogate e-mail address. A messageserver receives the e-mail message addressed to the surrogate e-mailaddress, interprets the information embedded in the address, extractsinformation from other message parts (FROM, SUBJECT, NOTES, attachments,etc.) and directs a specialized software program to enter, update ordelete appropriate data elements. The user is not, therefore, requiredto use or learn the specialized software program. The user only needs toknow how to send an e-mail message and to whom the e-mail should beaddressed.

[0024] The surrogate e-mail address comprises elements that identify aunique context and/or action to be taken. By way of illustration and notas a limitation, such elements may include an account number, projectidentifier, task, expense code, employee number, and informationidentifying a particular company and a target software application. Thee-mail address is distributed to the user in the form of a “contact”comprising the e-mail address plus additional information that helps theuser to identify the purpose and usage of the surrogate address. By wayof illustration and not as a limitation, the contact name might describethe name of the client/project, the type of expense, the name of theemployee, or the classification of the account.

[0025] In an embodiment of the present invention, the message server isinstalled on, or is accessible to, the specialized software program. Themessage server receives e-mail messages sent over the Internet ornetwork via Simple Message Transport Protocol (SMTP) and applies thenecessary translation operation to the instructions and data elementsconveyed by the e-mail message so that the instructions may beimplemented, and the data elements may be used by the specializedsoftware program. This translation operation is performed via anyappropriate programmatic means such as Structured Query Language (SQL)queries of the database, Application Programming Interface (API) callsprovided by the specialized software program, exchanging files, SimpleObject Access Protocol (SOAP), Distributed Common Object Model (DCOM),Common Object Request Broker Architecture (CORBA), and Microsoft.NETRemoting. However, this is not meant as a limitation. As will beapparent to those skilled in the art, other programmatic translationmeans may be used without departing from the scope of the presentinvention.

[0026] In another embodiment of the present invention, the messageserver is installed on, or is accessible to, a user's e-mail server. Inthis configuration, the message server monitors, intercepts and parsese-mail messages before the e-mail message is actually transmitted overthe Internet via SMTP. The message server parses the e-mail message,determines the appropriate translation operation, and executes thetranslation operation using any of the technologies listed above.

[0027] In another embodiment of the present invention, a message agentis installed on, or is accessible to, a user's e-mail server, while amessage server is installed on, or is accessible to, the specializedsoftware program. The message server associated with specializedsoftware program generates a surrogate e-mail address contact record andsends it to the message agent associated with the e-mail server. Themessage agent associated with the e-mail server inserts, updates anddeletes the contact record in the e-mail server's global address listand/or in each user's personal contact folder located on the e-mailserver. This embodiment frees the user from maintenance tasks related tothe surrogate e-mail addresses, further improving the user experience.

[0028] In yet another embodiment of the present invention, the messageserver is installed on, or is accessible to, an e-mail server. Thee-mail server may optionally comprise one or more time managementfunctions accessible to an e-mail client. By way of illustration and notas a limitation, a time management function comprises a calendarfunction, a task function, and a journal function. In an alternateembodiment, each time management function comprises a utility that isaccessible to the e-mail server. The message server monitors the e-mailserver (and any time management functions) to determine if informationreportable to a data server has been recorded. If information reportableto a data server has been recorded, the message server automaticallysends an e-mail message to the appropriate surrogate address in lieu ofthe user sending a message. Another instance of the message serverreceives the e-mail message and performs the translation operation.Alternatively, the message server monitoring the e-mail server performsthe translation operation as previously described.

[0029] In another embodiment of the present invention, the messageserver interacts with a time collection and billing system. Timekeepers(i.e., professionals whose time is billed to clients) are provided withcontacts (i.e., surrogate e-mail addresses associated with labels) thatact as surrogates for client/projects to which time is billed. Atimekeeper creates a time entry by scheduling a “meeting” for the timeperiod in the calendar representing the start time and duration of thebillable work. The timekeeper “invites” a surrogate contact representingthe client/project to the “meeting”. The calendar function sends ameeting invitation e-mail message to the surrogate e-mail address, whichis received by the message server. The message server interprets thee-mail message in the context of a time entry and inserts a time entryinto the time collection/billing software.

[0030] In yet another embodiment of the present invention, the messageserver interacts with a customer relationship management system.Employees who need occasional access to the data are provided withcontact entries in an address book comprising a surrogate e-mail addressand basic information about the customer (names, addresses, telephonenumbers, etc.) that can be used to look up customer contact informationas well as surrogate e-mail addresses. If an employee needs to update acustomer's information, the employee sends an e-mail message to thesurrogate address, attaching the updated contact entry to the e-mailmessage. The message server interprets the e-mail address and attachedcontact and uses that information to update the customer record in thecustomer relationship management system.

[0031] In another embodiment of the present invention, the messageserver interacts with an accounting system. Employees are provided withsurrogate e-mail addresses that act as surrogates for client/projectaccounts in the accounting system. To charge an expense amount to aclient/project, the employee schedules a “meeting” with the surrogatee-mail addresses representing the appropriate client/project. Theemployee enters an amount in the SUBJECT of the e-mail message, adds anynotes in the NOTES area of the e-mail message, and then sends themeeting invitation e-mail message. The message server interprets thee-mail address and other fields of the e-mail message to create a newexpense report in the accounting system.

[0032] In still another embodiment of the present invention, the messageserver interacts with the human resources management system to schedulepaid time off, report sick time, modify tax status, or update benefitinformation. Employees schedule paid time off and report sick time byscheduling a “meeting” in their calendar. The START DATE/START TIME andEND DATE/END TIME of the meeting correspond to the time scheduled orreported. The employee invites a contact (comprising a surrogate e-mailaddress) to the meeting that acts as a surrogate for vacation or sicktime in the human resources software. The calendar function sends ane-mail message to the surrogate address, which is received by themessage server. The message server interprets the e-mail message andschedules the time off or sick time in the human resources managementsystem. Modifying tax status or benefit information works similarly. Ameeting is scheduled with a contact that acts as a surrogate for thechange, and the new value is included in the SUBJECT of the e-mailmessage. The message server interprets the e-mail message and performsthe appropriate action in the human resources management system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0033]FIG. 1 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to anembodiment of the present invention.

[0034]FIG. 2 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to analternate embodiment of the present invention.

[0035]FIG. 3 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to analternate embodiment of the present invention in which a message servermonitors an e-mail server.

[0036]FIG. 4 illustrates a process flow for data collection and updateutilizing surrogate e-mail addresses according to an embodiment of thepresent invention.

[0037]FIGS. 5A and 5B illustrate a process flow for data collection andupdate utilizing surrogate e-mail addresses in a time-entry systemaccording to an embodiment of the present invention.

[0038]FIG. 6 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to anembodiment of the present invention in which a message agent manages adirectory of surrogate e-mail address.

DETAILED DESCRIPTION OF THE INVENTION

[0039] In an embodiment of the present invention, a user creates ane-mail message, addressing it to a surrogate e-mail address. A messageserver receives the e-mail message addressed to the surrogate e-mailaddress, interprets the information embedded in the address, extractsinformation from other message parts (FROM, SUBJECT, NOTES, attachments,etc.) and directs a specialized software program to enter, update ordelete appropriate data elements. The user is not, therefore, requiredto use or learn the specialized software program. The user only needs toknow how to send an e-mail message and to whom the e-mail should beaddressed.

[0040]FIG. 1 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to anembodiment of the present invention. An e-mail client 100 accesses adirectory 105 of surrogate e-mail addresses. An e-mail message 110 isconstructed and sent to e-mail server 115. The e-mail message 110 may beconstructed by a user using the e-mail client 100 or by an applicationused by the user. By way of illustration and not as a limitation, in analternate embodiment of the present invention, an e-mail message isconstructed by a calendar function that communicates with the e-mailclient 100 where the e-mail message 110 is in the form of a meetinginvitation. The user “invites” a surrogate contact comprising asurrogate e-mail address to the “meeting”. The calendar function sends ameeting invitation e-mail message to the message server associated withthe surrogate e-mail address.

[0041] To the user (not shown), the e-mail client 100 and the e-mailserver 115, the e-mail message 110 is like any other e-mailcommunication. However, in this embodiment, e-mail message 110 is sentto an e-mail address (the “surrogate e-mail address”) that acts as asurrogate for instructions and data elements directed to a specializedsoftware program 130. The surrogate e-mail address itself compriseselements that identify a unique context and/or action to be taken.

[0042] In embodiment, the surrogate e-mail address comprises anidentifier that uniquely associates a value with an entry in adatastructure. The identifier may comprise the whole surrogate e-mailaddress or may be parsed from the surrogate e-mail address. In anotherembodiment, the surrogate e-mail address may comprise a plurality ofidentifiers, each of which associates a value with an entry in adatastructure.

[0043] The surrogate e-mail address is generated based upon theparticulars of the data elements being entered, updated or deleted for aparticular specialized software program. An example surrogate e-mailaddress in the time collection and billing or customer relationshipmanagement context could be formatted as 123.456@ company.domain.comwhere “123” represents a unique client identifier, “456” represents aunique-project identifier for client 123, “company” represents a code orname identifying the company using the invention, and “domain.com”represents the actual Internet domain monitored by the message server.An example surrogate e-mail address identifying a billable expense itemin an accounting system is: 123.456.789@ company.domain.com where “123”represents a client, “456” represents a project, and “789” represents ageneral ledger account number in the accounting system. In the case of ahuman resources system, an exemplary surrogate e-mail address is:vacation@ company. domain.com, where “vacation” is a label that uniquelyidentifies the type of request or action. In any of these examples, theorder, type and location of each portion is not critical so long as theorder is known to a message server 125 (described below). Thus, there isno functional difference among vacation@ company.domain.com,vacation.company@domain.com, company.vacation@domain.com, or any othersuch combination. These examples (above) are not meant as a limitation.The invention does not rely upon any single format, so long as thee-mail address provides information sufficient to uniquely identify thenecessary key field or fields of information. The only requirement isthat the domain portion (e.g., “domain.com”) be the last portion of theaddress, since this is a requirement for e-mail delivery within theestablished standards for the Internet.

[0044] For ease of use, the surrogate e-mail address is packaged into acontact entry. In an embodiment of the present invention, the contactentry further comprises client and/or project names, general ledgeraccount descriptions, and other information helpful to the user inlocating the correct surrogate address. The contact entry is notrequired for the function of the invention, but facilitates ease of use.In yet another embodiment of the present invention, a contact entry ismapped to a label that is used in place of the surrogate e-mail address.

[0045] The surrogate e-mail addresses can be distributed to users in anyof several ways. The contacts can be added to a global address list of acompany's e-mail server 115, they can be added to an address or contactlist of individual users stored on an e-mail server 115, or they can bedistributed to users who then manually add them to their address orcontact list using their e-mail client 100.

[0046] The e-mail message 110 is conveyed via a network 120 to a messageserver 125. The message server 125 identifies the e-mail message 110 ashaving a surrogate e-mail address. The message server 125 parses thesurrogate e-mail address and e-mail message 110, and translates theinstructions and data elements conveyed by the e-mail message 110 sothat the data may be accessed and used by the specialized softwareprogram 130. By way of illustration, specialized software program 130may be a time collection and billing system, a customer relationshipmanagement system, accounting system, or a human resources system.However, the present invention is not so limited. As will be apparent tothose skilled in the art, other specialized software programs may beused with the systems and method herein described without departing fromthe scope of the present invention.

[0047] The translation operation is managed via any programmatic means.By way of illustration and not as limitation, the translation operationmay be managed using Structured Query Language (SQL) queries of thedatabase, Application Programming Interface (API) calls provided by thespecialized software, exchanging files, Simple Object Access Protocol(SOAP), Distributed Common Object Model (DCOM), Common Object RequestBroker Architecture (CORBA), and Microsoft .NET Remoting. However, thisis not meant as a limitation. As will be apparent to those skilled inthe art, other programmatic translation means may be used withoutdeparting from the scope of the present invention.

[0048] Both the message server 125 and the specialized software program130 access a datastructure 135. Datastructure 135 provides storage forrecords used by the specialized software program 130. If the specializedsoftware program provides an appropriate programmatic interface, themessage server 125 communicates instructions and data elements to thespecialized software program 130 through that programmatic interface.Alternatively, where no appropriate programmatic interface is available,the data server interfaces with the datastructure 135 to perform dataoperations (add, delete, or update) directly on data that is accessibleto the specialized software program 130.

[0049] While a single datastructure 135 is illustrated in FIG. 1, thisis not meant as a limitation. As will be apparent to those skilled inthe art, datastructure 135 may comprise discrete datastructures withoutdeparting from the scope of the present invention.

[0050] In an embodiment of the present invention, network 120 is theInternet. Again, the present invention is not so limited. Any network,including wired, wireless, and hybrid networks, may perform thefunctions of network 120 without departing from the scope of the presentinvention.

[0051] In still another embodiment, the e-mail server 115 comprises oneor more time management functions accessible to an e-mail client 100. Byway of illustration and not as a limitation, a time management functioncomprises a calendar function, a task function, and a journal function.In an alternate embodiment, each time management function comprises autility that is accessible to the e-mail server 115. E-mail messagesconstructed by a time management function are parsed by message server125 based on the fields defined for that particular function.

[0052]FIG. 2 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to analternate embodiment of the present invention.

[0053] An e-mail client 200 accesses a directory 205 of surrogate e-mailaddresses. An e-mail message 210 is constructed and sent to e-mailserver 215. As described in the context of the embodiment illustrated byFIG. 1, the e-mail message 210 may be constructed by a user using thee-mail client 200 or by an application used by the user. By way ofillustration and not as a limitation, a calendar function thatcommunicates with e-mail client 200 may construct an e-mail messagewhere the e-mail message 210 is in the form of a meeting invitation. Theuser “invites” a surrogate contact comprising a surrogate e-mail addressto the “meeting”. The calendar function sends a meeting invitatione-mail message to the surrogate e-mail address.

[0054] To the user (not shown), the e-mail client 200 and the e-mailserver 215, the e-mail message 210 is like any other e-mailcommunication. However, in this embodiment, e-mail message 210 is sentto an e-mail address (the “surrogate e-mail address”) that acts as asurrogate for instructions and data elements directed to a specializedsoftware program 235. The surrogate e-mail address itself compriseselements that identify a unique context and/or action to be taken.

[0055] The surrogate e-mail address is generated based upon theparticulars of the data elements being entered, updated or deleted for aparticular specialized software program. The present invention does notrely upon any single format, so long as the e-mail address providesinformation sufficient to uniquely identify the necessary key fields ofinformation.

[0056] The e-mail message 210 is conveyed to a message server 220. Themessage server 220 identifies the e-mail message 210 as having asurrogate e-mail address (see discussion relating to FIG. 1 above). Themessage server 220 parses the surrogate e-mail address and e-mailmessage 210 and sends the data via a network 225 to a data server 230.Thus, in this embodiment, the message server 220 monitors, interceptsand parses the e-mail message 210 before the e-mail message 210 isactually transmitted over network 225. The data server 230 translatesthe instructions and data elements conveyed by the e-mail message 210 sothat the data may be accessed and used by the specialized softwareprogram 235. By way of illustration, specialized software program 235may be a time collection and billing system, a customer relationshipmanagement system, accounting system, or a human resources system.However, the present invention is not so limited. As will be apparent tothose skilled in the art, other specialized software programs may beused with the systems and method herein described without departing fromthe scope of the present invention.

[0057] The translation operation is managed via any programmatic means.By way of illustration and not as limitation, the translation operationmay be managed using Structured Query Language (SQL) queries of thedatabase, Application Programming Interface (API) calls provided by thespecialized software, exchanging files, Simple Object Access Protocol(SOAP), Distributed Common Object Model (DCOM), Common Object RequestBroker Architecture (CORBA), and Microsoft .NET Remoting. However, thisis not meant as a limitation. As will be apparent to those skilled inthe art, other programmatic translation means may be used withoutdeparting from the scope of the present invention.

[0058] In an alternate embodiment, the translation is also performed bythe message server. In this embodiment, there is no data sever. Rather,the instruction and data elements are sent to the specialized softwareprogram 235 via network 225.

[0059] Both the data server 230 and the specialized software program 235access a datastructure 240. Datastructure 240 provides storage forrecords used by the specialized software program 235. If the specializedsoftware program provides an appropriate programmatic interface, thedata server 230 communicates instructions and data elements to thespecialized software program through that programmatic interface.Alternatively, where no appropriate programmatic interface is available,the data server interfaces with the datastructure 240 to perform dataoperations (add, delete, or update) directly on data that is accessibleto the specialized software program 235.

[0060] While a single datastructure 240 is illustrated in FIG. 2, thisis not meant as a limitation. As will be apparent to those skilled inthe art, datastructure 240 may comprise discrete datastructures withoutdeparting from the scope of the present invention.

[0061] In an embodiment of the present invention, network 225 is theInternet. Again, the present invention is not so limited. Any network,including wired, wireless, and hybrid networks, may perform thefunctions of network 225 without departing from the scope the presentinvention.

[0062] In an alternate embodiment, the message server 220 intercepts thee-mail message 210 before the e-mail message 210 is actually transmittedover network 225 to the data server 230. This behavior permits themessage server 220 to augment, modify, or block the e-mail message 210based on rules applied by the message server 220. By way ofillustration, and not as a limitation, instructions and data elementsconveyed by e-mail message 210 are encrypted (before or aftertranslation). In still another embodiment of the present invention,content inserted into an e-mail message by an e-mail server (forexample, confidentiality statements, disclaimers, and signatures) areidentified and deleted from a message before it is sent. In stillanother embodiment, additional information is added to the e-mailmessage 210 before it is sent to the data server 230. In thisembodiment, data server 230 then parses the e-mail message 210 and thesurrogate e-mail address, obtains the instructions and data elementsdirected to specialized software program 235, and translates theinstructions and data elements as previously described.

[0063]FIG. 3 illustrates a block diagram of a system for data collectionand update utilizing surrogate e-mail addresses according to analternate embodiment of the present invention in which a message servermonitors an e-mail server. The e-mail server 300 accesses a directory305 of surrogate e-mail addresses. A message server 320 monitors thee-mail server 300 to determine if data has been recorded that isreportable to a data server 330. Reportable data is parsed andinstructions and data elements conveyed to a data server 330. Both thedata server 330 and the specialized software program 335, access adatastructure 340.

[0064] Recorded data is reportable if it includes at least one surrogatee-mail address and if the act of creating it is terminated in aspecified way. By way of illustration, a user creates an e-mail messageusing a surrogate e-mail address and saves the e-mail message in aspecified folder (activity terminated in a way that makes itreportable). Similarly, a user may create an appointment in a calendar“with” a surrogate e-mail address (activity terminated in a way thatmakes it reportable). Other activities using the calendar, journal andtask scheduler to record data may be made reportable by configuring themessage server 320 to monitor certain activities and to imply anintention to report them from specified behaviors. Once reportableactivity has been identified, the message server 320 reads the recordeddata, parses the surrogate e-mail address, and sends the instructionsand data elements conveyed by the recorded data via a network 325 to thedata server 330. The data server 330 translates the instructions anddata elements so that the data may be accessed and used by a specializedsoftware program 335. By way of illustration, specialized softwareprogram 335 may be a time collection and billing system, a customerrelationship management system, accounting system, or a human resourcessystem. However, the present invention is not so limited. As will beapparent to those skilled in the art, other specialized softwareprograms may be used with the systems and method herein describedwithout departing from the scope of the present invention.

[0065] In an alternate embodiment, the message server 320 captures therecorded data and sends it to the data server 330 where the data isparsed and translated. The translation operation is managed via anyprogrammatic means. By way of illustration and not as limitation, thetranslation operation may be managed using Structured Query Language(SQL) queries of the database, Application Programming Interface (API)calls provided by the specialized software, exchanging files, SimpleObject Access Protocol (SOAP), Distributed Common Object Model (DCOM),Common Object Request Broker Architecture (CORBA), and Microsoft .NETRemoting. However, this is not meant as a limitation. As will beapparent to those skilled in the art, other programmatic translationmeans may be used without departing from the scope of the presentinvention.

[0066] In another embodiment of the present invention, the e-mail server300 optionally comprises one or more time management functions 310. Inan embodiment of the present invention, the time management functions310 comprise a calendar function, a task function, and a journalfunction. However, this is not meant as a limitation. In anotherembodiment, each time management function 310 comprises a utility thatcommunicates with e-mail server 300. The message server 320 monitors thee-mail server 300, including any time management functions, to determineif data has been recorded that is reportable to a data server 330.

[0067]FIG. 4 illustrates a process flow for data collection and updateutilizing surrogate e-mail addresses according to an embodiment of thepresent invention. An e-mail message is received at a message server 400and the e-mail message is parsed 405. In one embodiment of the presentinvention, the message server receives and processes Internet MailFormat (IMF) messages sent over a network using the Simple MailTransport Protocol (SMTP). (See FIG. 1). The message server monitors andreceives SMTP messages sent to the configured domain. The message serveris capable of parsing e-mail messages and attachments in any standardformat, including (but not limited to) iCalendar, vCalendar, vCard andTransport Neutral Encoding Format (TNEF) using industry-standardpractices. The iCalendar, vCalendar and vCard formats are text formatswith published format definitions. The TNEF format is a binary formatproprietary to Microsoft. Microsoft has provided multiple means to parseTNEF, including Collaborative Data Objects (CDO) and MessagingApplication Programming Interface (MAPI). The message server is not,however, limited to these message formats. As will be apparent to thoseskilled in the art, other message formats may be used without departingfrom the scope of the present invention.

[0068] The message server is also capable of intercepting and parsingmessages received by the e-mail server before the e-mail messages aresent via SMTP. (See FIG. 2.) In this embodiment, the message server alsoserves to prevent messages from being sent, to send messages to ensuredata integrity if the e-mail server fails to send an e-mail message, toparse messages and apply updates to specialized software programswithout the e-mail message being sent, or to monitor an e-mail serverand to send information or perform other actions based upon behaviorsother than a user explicitly sending an e-mail message (See FIG. 3). Inyet another embodiment of the present invention, instructions and dataelements are encrypted (before or after translation). In still anotherembodiment of the present invention, content inserted into an e-mailmessage by a message server is identified and deleted from a messagebefore it is sent. By way of illustration and not as a limitation,inserted confidentiality statements, disclaimers, and signatures areremoved from the NOTES field based upon a configured template.

[0069] Returning to FIG. 4, the message server parses the fields of thee-mail message 405 (e.g., TO, FROM, SUBJECT, NOTES, START DATE, STARTTIME, END DATE, END TIME, etc.) and verifies that the sender's e-mailaddress 410 is a valid address of a duly authorized user of the system.Messages from senders that are not valid and duly authorized are ignored415.

[0070] If the user is an authorized user, the Universal Identifier (UID)and the e-mail MESSAGE ID are extracted 420 from the e-mail message. TheUID is an element of the Internet standards for e-mail messages anduniquely identifies a particular message. The message server uses theUID to match an updated message to the previous versions of the samemessage. The UID remains constant when, for example, meeting invitatione-mail messages are updated or canceled. The MESSAGE ID is a globallyunique identifier representing a single message. Unlike the UID, when amessage is updated, forwarded, or replied to, the e-mail MESSAGE IDchanges. The message server uses the e-mail MESSAGE ID to positivelyidentify duplicate e-mail messages 425.

[0071] The message server then uses the e-mail MESSAGE ID to ensure thatthe e-mail message is not a duplicate message 425. Duplicate messagesare ignored 415. The message server then parses the surrogate e-mailaddress 440 and verifies that the unique identifiers in the surrogatee-mail address are valid and available for use 445. If the identifiersin the e-mail address cannot be resolved to valid and available dataitems, an error message is sent 450 back to the user via e-mail. If theidentifiers in the surrogate e-mail address are valid, they are capturedand used to associate the data conveyed by the e-mail message to aparticular specialized software program 460 or a record accessed by suchan application. By way of illustration and not as limitation, in aconsulting environment, the specialized software program comprises atime entry system and the identifiers comprise a client identifier and aproject identifier.

[0072] Once the message server has established the validity of the userand the data items involved, the message server translates 455 theinstructions and data elements based upon the particular requirements ofthe specialized software program to which the data will be directed. Thetranslation operation is managed via any programmatic means. By way ofillustration and not as limitation, the translation operation may bemanaged using Structured Query Language (SQL) queries of the database,Application Programming Interface (API) calls provided by thespecialized software, exchanging files, Simple Object Access Protocol(SOAP), Distributed Common Object Model (DCOM), Common Object RequestBroker Architecture (CORBA), and Microsoft .NET Remoting. However, thisis not meant as a limitation. As will be apparent to those skilled inthe art, other programmatic translation means may be used withoutdeparting from the scope of the present invention.

[0073] The message server interacts with a specialized software program,such as a time collection and billing system, a customer relationshipmanagement system, accounting system, and a human resources system.However, the present invention is not so limited. As will be apparent tothose skilled in the art, other specialized software programs may beused with the systems and method herein described without departing fromthe scope of the present invention.

[0074] The data is then directed to the specialized software program 460for processing. If the specialized software program provides anappropriate programmatic interface, instructions and data elements arecommunicated to the specialized software program through thatprogrammatic interface. Alternatively, where no appropriate programmaticinterface is available, operations (add, delete, or update) areperformed directly on data that is accessible to the specializedsoftware program.

[0075]FIG. 5 illustrates a process flow for data collection and updateutilizing surrogate e-mail addresses in a time-entry system according toan embodiment of the present invention. In this embodiment, thesurrogate e-mail address contains the identifiers for a client/projectto which time is to be charged.

[0076] An e-mail message is received at a message server 500 and thee-mail message is parsed 505. In one embodiment of the presentinvention, the message server receives and processes Internet MailFormat (IMF) messages sent over a network using the Simple MailTransport Protocol (SMTP). (See FIG. 1). The message server monitors andreceives SMTP messages sent to the configured domain. The message serveris cable of parsing e-mail messages and attachments in any standardformat, including (but not limited to) iCalendar, vCalendar, vCard andTransport Neutral Encoding Format (TNEF) using industry-standardpractices. The iCalendar, vCalendar and vCard formats are text formatswith published format definitions. The TNEF format is a binary formatproprietary to Microsoft. Microsoft has provided multiple means to parseTNEF, including Collaborative Data Objects (CDO) and MessagingApplication Programming Interface (MAPI). The message server is not,however, limited to these message formats. As will be apparent to thoseskilled in the art, other message formats may be used without departingfrom the scope of the present invention.

[0077] The message server is also capable of intercepting and parsingmessages received by the e-mail server before the e-mail messages aresent via SMTP. (See FIG. 2.) In alternate embodiments of the presentinvention, the message server also serves to prevent messages from beingsent, to send messages to ensure data integrity if the e-mail serverfails to send an e-mail message, to parse messages and apply updates tospecialized software programs without the e-mail message being sent, andto monitor an e-mail server and send information or perform otheractions based upon behaviors other than a user explicitly sending ane-mail message. In yet another embodiment of the present invention, theinstructions and data elements are encrypted (before or aftertranslation). In still another embodiment of the present invention,content inserted into an e-mail message by a message server isidentified and deleted from a message before it is sent. By way ofillustration and not as a limitation, inserted confidentialitystatements, disclaimers, and signatures removed from the NOTES fieldbased upon a configured template.

[0078] Returning to FIG. 5A, the message server parses the fields of thee-mail message 505 (e.g., TO, FROM, SUBJECT, NOTES, START DATE, STARTTIME, END DATE, END TIME, etc.) and verifies that the sender's e-mailaddress 510 is a valid address of a duly authorized user of the system.Messages from senders that are not valid and duly authorized are ignored515.

[0079] If the user is an authorized user, the Universal Identifier (UID)and the e-mail MESSAGE ID are extracted 520 from the e-mail message. TheUID is an element of the Internet standards for e-mail messages anduniquely identifies a particular message. The message server uses theUID to match an updated message to the previous versions of the samemessage. The UID remains constant when, for example, meeting invitatione-mail messages are updated or canceled. The MESSAGE ID is a globallyunique identifier representing a single message. Unlike the UID, when amessage is updated, forwarded, or replied to, the e-mail MESSAGE IDchanges. The message server uses the e-mail MESSAGE ID to positivelyidentify duplicate e-mail messages.

[0080] The message server then uses the e-mail MESSAGE ID to ensure thatthe e-mail message is not a duplicate message 525. Duplicate messagesare ignored 515. The message server then parses the surrogate e-mailaddress 540 and verifies that the unique identifiers in the surrogatee-mail address are valid and available for use 545. If the identifiersin the e-mail address cannot be resolved to valid and available dataitems, an error message is sent 550 back to the user via e-mail. If theidentifiers in the surrogate e-mail address are valid, they are capturedand used to relate time entries to a particular client and project. Inthis embodiment of the present invention, the e-mail address containsthe unique identifiers for the client/project. If the present inventionis used in an environment where multiple companies' data is housed, suchas an application service provider, the address may also contain anidentifier for the company. However, this identifier is not required foruniqueness across companies, as the sender's e-mail address provides thenecessary information to identify the user's company.

[0081] In an alternate embodiment of the present invention, additionalspecificity of information is achieved by inviting multiple contacts(each comprising a surrogate e-mail address) to the same meeting, or byattaching multiple contacts to an e-mail message. For example, in a timecollection and billing embodiment of the present invention, the usercould invite one surrogate contact representing the client/project towhich the time is billed and a second surrogate contact representing atask or activity code that further defines the scope or type of workperformed. Additionally, the cost of the time may be allocated amongmultiple client/projects by inviting multiple contacts to the meeting.Where multiple surrogate e-mail addresses are used, each surrogatee-mail address is checked for validity (see FIG. 5, 545).

[0082] Referring to FIG. 5B, a determination is made whether the e-mailmessage is a meeting invitation 555. A meeting invitation comprises aSTART DATE and START TIME and an END DATE and END TIME. If the e-mailmessage is a meeting invitation, the meeting invitation is parsed 565.The START DATE and START TIME are used to determine the starting pointfor the entry. The END DATE and END TIME are used to calculate theduration of the time entry.

[0083] If the e-mail message is not a meeting invitation but rather astandard e-mail message, the beginning of the subject line is parsed560. If the first characters of the subject are numeric, the value isassumed to be the duration of the entry. The date of the time entry isassumed to be the date that the e-mail message was sent, and thestarting time is set to a value based on the time entry date and theduration entry. The SUBJECT and NOTES fields of the e-mail messageprovide a work product description (i.e., narrative text) and forinternal notes not sent to the client. Configuration values determinewhich field in the e-mail message is mapped to which field in the timeentry. In an embodiment of the present invention, content inserted intoan e-mail message by an e-mail server is identified and deleted from amessage before it is sent. By way of illustration and not as alimitation, inserted confidentiality statements, disclaimers, andsignatures removed from the NOTES field based upon a configuredtemplate. If the UID has not been received previously, it is inferredthat the e-mail message concerns a new time entry. If a message with thesame UID but a different MESSAGE ID has been received previously, it isinferred that the e-mail message represents either an update or a deletecommand. The message server determines if the e-mail message is a delete(cancel) by inspecting the meeting status attribute included within thecalendar part of the e-mail message. If the e-mail message represents adeletion, the message server interacts with the specialized softwareapplication to which the e-mail message is directed to delete the data.In the case of an update, the information conveyed by the e-mail messageis translated and the resulting values are determined in accordance withthe configuration of the message server.

[0084] The time entry is evaluated 570 to determine if it represents anew time entry. If the time entry is not new, a current time entry forthe project is updated 575. If the time entry is new, a time entry forthe project is created 580 and directed to the specialized softwareprogram 585. If the specialized software program provides an appropriateprogrammatic interface, instructions and data elements are communicatedto the specialized software program through that programmatic interface.Alternatively, where no appropriate programmatic interface is available,operations (add, delete, or update) are performed directly on data thatis accessible to the specialized software program.

[0085] While FIG. 5 illustrates a time entry system according to anembodiment of the present invention, the present invention is not solimited.

[0086] In yet another embodiment of the present invention, informationis gathered utilizing surrogate e-mail addresses to support a customerrelationship management system. In this embodiment, the surrogate e-mailaddress comprises identifiers for a client and a contact personassociated with the client. The message server receives an e-mailmessage. If a contact record is attached to the e-mail message, thevalues in the contact record are used to update the contact informationfor the client and contact person associated with the client. The SENTDATE/TIME field provides the date/time of the change. The FROM fieldprovides the identity of the person making the change. If the e-mailmessage is a meeting invitation, the message server inserts or updates arecord of interaction with the client. The START DATE and START TIMEfields are used to record the date and time of the interaction. The FROMfield is used to record the identity of the employee having theinteraction. The meeting START DATE, START TIME, END DATE and END TIMEfields are used to provide the date, time and duration of theinteraction. The SUBJECT field is used to provide a short summary of themeeting, such as “Meeting” or “Conference call”, while the NOTES fieldis used to record the complete description of the interaction.

[0087] In another embodiment of the present invention in which thespecialized software program represents an accounting system, thesurrogate e-mail address provides identifiers for the client and projectto be charged and the general ledger or other billing code to which thecharge is applied in the accounting system. The FROM field provides theidentity of the employee submitting the charge. The SENT DATE fieldprovides the date of the charge, unless the e-mail message is a meetinginvitation, in which case the START DATE is used as the date of thecharge. The SUBJECT field provides the amount of the charge, and theNOTES field provides the explanation for the charge.

[0088] In still another embodiment of the present invention in which thespecialized software program represents a human resources managementsystem, the surrogate e-mail address provides identifiers classifyingthe type of request or transaction, such as paid time off request orsick day report. The FROM field provides the identity of the employeesubmitting the request or transaction. If the e-mail message is ameeting invitation, the START DATE, START TIME, END DATE and END TIMEfields are used to establish the span of time involved in the request ortransaction. If the e-mail message is not a meeting invitation, theSUBJECT line is parsed to determine the start date/time and enddate/time using standard date/time formats. The NOTES field provides anexplanation of the reason for the request or other details of thetransaction.

[0089] In another embodiment of the present invention, a message serverand a message agent are used to manage the maintenance of the surrogatee-mail addresses. FIG. 6 illustrates a block diagram of a system fordata collection and update utilizing surrogate e-mail addressesaccording to an embodiment of the present invention in which a messageagent manages a directory of surrogate e-mail address. The message agent610 is on, or accessible to, an e-mail server 600. E-mail server 600comprises surrogate e-mail directory 605. In an alternate embodiment,surrogate e-mail directory 605 is remote from, but accessible to, e-mailserver 600. A message server 620 is linked to a specialized softwareprogram 625 and datastructure 630. The message server 620 receives oneor more data elements from the specialized software program 625,generates a surrogate e-mail address and sends it to the message agent610. The message agent 610 uses the surrogate e-mail address sent bymessage server 620 to insert, update or delete (as appropriate)surrogate e-mail directory records within surrogate e-mail directory605. This embodiment frees the user from maintenance tasks related tothe surrogate e-mail addresses, further improving the user experience.

[0090] In another embodiment of the present invention, a proprietarysoftware extension installed on the user's computer inserts anadditional toolbar into the user's e-mail client. The toolbar displaysbuttons that represent contact records containing surrogate e-mailaddresses. When the user clicks a toolbar button, the button beginstiming the task. When the button is clicked again, or when a differentbutton is clicked, a meeting invitation is inserted into the user'scalendar representing the starting time and date as well as the durationof the task, invites the surrogate contact to the meeting, and sends themeeting invitation. This embodiment improves the user experience byallowing the user to create time entries by timing the task, at the costof having an additional software application to install on the user'scomputer.

[0091] In another embodiment of the present invention, a proprietarysoftware extension installed on a user's computer interacts with auser's ubiquitous software program (e.g., word processing software,spreadsheet, presentation software, etc.). When a new document iscreated in the office productivity software, the proprietary extensiondisplays a dialog box allowing the user to associate the new documentwith a contact record comprising a surrogate e-mail address thatrepresents a client/project. The proprietary extension adds thesurrogate e-mail address to the document as a hidden element and beginstiming the task of working on the document. When the user completes thechanges to the document, the proprietary extension offers the user theopportunity to record a time entry representing the time spent workingon the document. The proprietary extension then creates a meetinginvitation e-mail message in the user's calendar representing the date,start time, and stop time as well as including details extracted fromthe document (file name, document summary, etc.), and sends the meetinginvitation e-mail message. The meeting invitation e-mail message isprocessed by the message server using any of the methods previouslydescribed. When the same document is subsequently opened, the user isagain offered the opportunity to record the time spent working on thedocument, but without requiring the user to select a surrogate e-mailaddress to associate with the document.

[0092] In another embodiment of the present invention, a proprietarysoftware extension is installed on the user's computer that providesadditional forms within a ubiquitous software program that are specificto a specialized software program, such as a time collection and billingsystem, a human resources management system, a customer relationshipmanagement system, or an accounting system. The forms create meetinginvitations and/or e-mail messages addressed to a surrogate e-mailaddress that are functionally identical to the message produced by theuser using the ubiquitous software program alone and that are processedby a message server using any of the methods previously described. Theforms enhance the user experience by providing a user interface moretailored to the particular specialized software program. As anillustration and not as a limitation, a form filters a list of contactsfrom which the user is permitted to address meeting invitation messagesto those contacts representing surrogate e-mail addresses.Alternatively, a form utilizes vocabulary specific to the specializedsoftware program rather than the vocabulary of a generic meetinginvitation message or e-mail message.

[0093] In yet another embodiment of the present invention, a userinitiates a conversation using an Internet messaging program. The userconverses with a server that prompts for the required information byasking questions. Answers provided by the user form the basis forinserting, updating or deleting information in the specialized softwareprogram. The user only needs to know how to initiate and respond to aconversation using an Internet messaging program.

[0094] In still another embodiment of the present invention, a userworks with an interactive voice response (IVR) system to insert, updateor delete information in the specialized software program. The IVRprompts the user for information using voice synthesis, voicerecognition and numeric entry. The user does not need to know how to usethe specialized software, only how to use a telephone.

[0095] In another embodiment of the present invention, a message serverserves as a universal platform that supports processing standard e-mailand meeting invitation messages generated by any software applicationcapable of creating and sending e-mail messages. Any software developercan leverage the message server platform to interface with a specializedsoftware program without the specialized software program vendorproviding the programmatic interface directly to the software developer.The software developer sends instructions and data elements to thespecialized software program by creating industry-standard e-mailmessages and sending them to the message server, which processes thee-mail messages using any of the methods described above.

[0096] A system and method for data collection and update utilizing asurrogate e-mail address using a server has been described. It will beunderstood by those skilled in the art that the present invention may beembodied in other specific forms without departing from the scope of thepresent invention disclosed and that the examples and embodimentsdescribed herein are in all respects illustrative and not restrictive.Those skilled in the art of the present invention will recognize thatother embodiments using the concepts described herein are also possible.

We claim:
 1. A system for data collection comprising: a surrogate e-mailaddress; and a message server, the message server adapted to: receivethe surrogate e-mail address; extract from the surrogate e-mail addressone or more instructions directed to a specialized software program;extract from the surrogate e-mail address one or more data elementsdirected to the specialized software program; and process theinstructions and the data elements extracted from the surrogate e-mailaddress for use by the specialized software program.
 2. The system ofdata collection of claim 1, wherein one of the one or more instructionscomprises an add command.
 3. The system of data collection of claim 1,wherein one of the one or more instructions comprises a delete command.4. The system of data collection of claim 1, wherein one of the one ormore instructions comprises an update command
 5. The system of datacollection of claim 1, wherein one of the one or more data elementscomprises a start time value.
 6. The system of data collection of claim1, wherein one of the one or more data elements comprises a stop timevalue.
 7. The system of data collection of claim 1, wherein one of theone or more data elements comprises a duration time value.
 8. The systemof data collection of claim 1, wherein one of the one or more dataelements comprises a client identifier value.
 9. The system of datacollection of claim 1, wherein one of the one or more data elementscomprises a project identifier value.
 10. The system of data collectionof claim 1, wherein one of the one or more data elements comprises atask identifier value.
 11. The system of data collection of claim 1,wherein one of the one or more data elements comprises a narrativedescription value.
 12. The system of data collection of claim 1, whereinthe specialized software program is selected from the group consistingof a time entry application, an accounting application, human resourcesapplication, and a customer relationship management application.
 13. Thesystem of data collection of claim 1, wherein to process theinstructions and the data elements extracted from the surrogate e-mailaddress for use by the specialized software program comprises:translating the instructions extracted from the surrogate e-mail addressfor execution by the specialized software program; translating the dataelements extracted from the surrogate e-mail address for use by thespecialized software program; and providing the translated instructionsand translated data elements to the specialized software program. 14.The system of data collection of claim 1, wherein the system furthercomprises an e-mail message, the e-mail message addressed at least tothe surrogate e-mail address, and wherein the message server is furtheradapted to: extract from the e-mail message instructions directed to thespecialized software program; extract from the e-mail message dataelements directed to the specialized software program; and process theinstructions and the data elements extracted from the e-mail message foruse by the specialized software program.
 15. The system of datacollection of claim 14, wherein to process the instructions and the dataelements extracted from the e-mail message for use by the specializedsoftware program comprises: translating the instructions extracted fromthe e-mail message for execution by the specialized software program;translating the data elements extracted from the e-mail message for useby the specialized software program; and providing the translatedinstructions and translated data elements to the specialized softwareprogram.
 16. The system of data collection of claim 15, wherein toreceive the surrogate e-mail address comprises receiving the e-mailmessage from an e-mail server via a network.
 17. The system of datacollection of claim 15, wherein to receive the surrogate e-mail addresscomprises receiving the e-mail message from an e-mail server connectedto the message server and wherein providing the translated instructionsand translated data elements to the specialized software programcomprises sending the translated instructions and translated dataelements to the specialized software program via a network
 18. Thesystem of data collection of claim 15, wherein the e-mail messagecomprises a meeting invitation message.
 19. A system for data collectioncomprising: a surrogate e-mail address; a data server; and a messageserver, the message server adapted to: receive the surrogate e-mailaddress; extract from the surrogate e-mail address one or moreinstructions directed to a specialized software program, extract fromthe surrogate e-mail address one or more data elements directed to thespecialized software program; and send the instructions and dataelements extracted from the surrogate e-mail address to the data server;and wherein the data server is adapted to process the instructions andthe data elements extracted from the surrogate e-mail address for use bythe specialized software program.
 20. The system of data collection ofclaim 19, wherein one of the one or more instructions comprises an addcommand.
 21. The system of data collection of claim 19, wherein one ofthe one or more instructions comprises a delete command.
 22. The systemof data collection of claim 19, wherein one of the one or moreinstructions comprises an update command
 23. The system of datacollection of claim 19, wherein one of the one or more data elementscomprises a start time value.
 24. The system of data collection of claim19, wherein one of the one or more data elements comprises a stop timevalue.
 25. The system of data collection of claim 19, wherein one of theone or more data elements comprises a duration time value.
 26. Thesystem of data collection of claim 19, wherein one of the one or moredata elements comprises a client identifier value.
 27. The system ofdata collection of claim 19, wherein one of the one or more dataelements comprises a project identifier value.
 28. The system of datacollection of claim 19, wherein one of the one or more data elementscomprises a task identifier value.
 29. The system of data collection ofclaim 19, wherein one of the one or more data elements comprises anarrative description value.
 30. The system of data collection of claim19, wherein the specialized software program is selected from the groupconsisting of a time entry application, an accounting application, ahuman resources application, and a customer relationship managementapplication.
 31. The system of data collection of claim 19, wherein toprocess the instructions and the data elements extracted from thesurrogate e-mail address for use by the specialized software programcomprises: translating the instructions extracted from the surrogatee-mail address for execution by the specialized software program;translating the data elements extracted from the surrogate e-mailaddress for use by the specialized software program; and providing thetranslated instructions and translated data elements to the specializedsoftware program.
 32. The system of data collection of claim 19, whereinthe system further comprises an e-mail message, the e-mail messageaddressed at least to the surrogate e-mail address, and wherein themessage server is further adapted to: extract from the e-mail messageinstructions directed to the specialized software program; extract fromthe e-mail message data elements directed to the specialized softwareprogram; send the instructions and data elements extracted from thee-mail message to the data server; and wherein the data server isfurther adapted to process the instructions and the data elementsextracted from the e-mail message for use by the specialized softwareprogram.
 33. The system of data collection of claim 32, wherein toprocess the instructions and the data elements extracted from the e-mailmessage for use by the specialized software program comprises:translating the instructions extracted from the e-mail message forexecution by the specialized software program; translating the dataelements extracted from the e-mail message for use by the specializedsoftware program; and providing the translated instructions andtranslated data elements to the specialized software program.
 34. Thesystem of data collection of claim 32, wherein the e-mail messagecomprises a meeting invitation message.
 35. A system for data collectioncomprising: an e-mail server; a surrogate e-mail address; and a messageserver, the message server adapted to: monitor the e-mail server foractivity reportable to a specialized software program, wherein areportable activity comprises associating a surrogate e-mail addresswith an information record; in-the event reportable activity isdetected, receive the surrogate e-mail address and the informationrecord; extract from the surrogate e-mail address and the informationrecord one or more instructions directed to the specialized softwareprogram; extract from the surrogate e-mail address and the informationrecord one or more data elements directed to the specialized softwareprogram; and process the instructions and the data elements extractedfrom the surrogate e-mail address for use by the specialized softwareprogram.
 36. The system of data collection of claim 35, wherein one ofthe one or more instructions comprises an add command.
 37. The system ofdata collection of claim 35, wherein one of the one or more instructionscomprises a delete command.
 38. The system of data collection of claim35, wherein one of the one or more instructions comprises an updatecommand
 39. The system of data collection of claim 35, wherein one ofthe one or more data elements comprises a start time value.
 40. Thesystem of data collection of claim 35, wherein one of the one or moredata elements comprises a stop time value.
 41. The system of datacollection of claim 35, wherein one of the one or more data elementscomprises a duration time value.
 42. The system of data collection ofclaim 35, wherein one of the one or more data elements comprises aclient identifier value.
 43. The system of data collection of claim 35,wherein one of the one or more data elements comprises a projectidentifier value.
 44. The system of data collection of claim 35, whereinone of the one or more data elements comprises a task identifier value.45. The system of data collection of claim 35, wherein one of the one ormore data elements comprises a narrative description value.
 46. Thesystem of data collection of claim 35, wherein associating a surrogatee-mail address with an information record comprises saving an e-mailmessage addressed at least to the surrogate e-mail address.
 47. Thesystem of data collection of claim 35, wherein associating a surrogatee-mail address with an information record comprises saving a meetinginvitation message addressed at least to the surrogate e-mail address.48. The system of data collection of claim 35, wherein the specializedsoftware program is selected from the group consisting of a time entryapplication, an accounting application, a human resources application,and a customer relationship management application.
 49. A system fordata collection comprising: an e-mail server; a surrogate e-mailaddress; a data server; and a message server, the message server adaptedto: monitor the e-mail server for activity reportable to a specializedsoftware program, wherein a reportable activity comprises associating asurrogate e-mail address with an information record; in the eventreportable activity is detected, receive the surrogate e-mail addressand the information record; extract from the surrogate e-mail addressand the information record one or more instructions directed to thespecialized software program; extract from the surrogate e-mail addressand the information record one or more data elements directed to thespecialized software program; send the instructions and data elementsextracted from the surrogate e-mail address and the information recordto the data server; and wherein the data server is adapted to processthe instructions and the data elements extracted from the surrogatee-mail address and the information record for use by the specializedsoftware program.
 50. The system of data collection of claim 49, whereinone of the one or more instructions comprises an add command.
 51. Thesystem of data collection of claim 49, wherein one of the one or moreinstructions comprises a delete command.
 52. The system of datacollection of claim 49, wherein one of the one or more instructionscomprises an update command
 53. The system of data collection of claim49, wherein one of the one or more data elements comprises a start timevalue.
 54. The system of data collection of claim 49, wherein one of theone or more data elements comprises a stop time value.
 55. The system ofdata collection of claim 49, wherein one of the one or more dataelements comprises a duration time value.
 56. The system of datacollection of claim 49, wherein one of the one or more data elementscomprises a client identifier value.
 57. The system of data collectionof claim 49, wherein one of the one or more data elements comprises aproject identifier value.
 58. The system of data collection of claim 49,wherein one of the one or more data elements comprises a task identifiervalue.
 59. The system of data collection of claim 49, wherein one of theone or more data elements comprises a narrative description value. 60.The system of data collection of claim 49, wherein the specializedsoftware program is selected from the group consisting of a time entryapplication, an accounting application, a human resources application,and a customer relationship management application.
 61. The system ofdata collection of claim 49, wherein associating a surrogate e-mailaddress with an information record comprises saving an e-mail messageaddressed at least to the surrogate e-mail address.
 62. The system ofdata collection of claim 49, wherein associating a surrogate e-mailaddress with an information record comprises saving a meeting invitationmessage addressed at least to the surrogate e-mail address.
 63. Thesystem of data collection of claim 49, wherein the specialized softwareprogram is selected from the group consisting of a time entryapplication, an accounting application, and a customer relationshipmanagement application.
 64. The system of data collection of claim 49,wherein to process the instructions and the data elements extracted fromthe surrogate e-mail address and the information record for use by thespecialized software program comprises: translating the instructionsextracted from the surrogate e-mail address and the information recordfor execution by the specialized software program; translating the dataelements extracted from the surrogate e-mail address and the informationrecord for use by the specialized software program; and providing thetranslated instructions and translated data elements to the specializedsoftware program.
 65. A method of collecting data directed to aspecialized software program, the method comprising: receiving asurrogate e-mail address; extracting from the surrogate e-mail addressone or more instructions directed to the specialized software program;extracting from the surrogate e-mail address one or more data elementsdirected to the specialized software program; and processing theinstructions and the data elements extracted from the surrogate e-mailaddress for use by the specialized software program.
 66. The method ofcollecting data directed to a specialized software program of claim 65,wherein one of the one or more instructions comprises an add command.67. The method of collecting data directed to a specialized softwareprogram of claim 65, wherein one of the one or more instructionscomprises a delete command.
 68. The method of collecting data directedto a specialized software program of claim 65, wherein one of the one ormore instructions comprises an update command
 69. The method ofcollecting data directed to a specialized software program of claim 65,wherein one of the one or more data elements comprises a start timevalue.
 70. The method of collecting data directed to a specializedsoftware program of claim 65, wherein one of the one or more dataelements comprises a stop time value.
 71. The method of collecting datadirected to a specialized software program of claim 65, wherein one ofthe one or more data elements comprises a duration time value.
 72. Themethod of collecting data directed to a specialized software program ofclaim 65, wherein one of the one or more data elements comprises aclient identifier value.
 73. The method of collecting data directed to aspecialized software program of claim 65, wherein one of the one or moredata elements comprises a project identifier value.
 74. The method ofcollecting data directed to a specialized software program of claim 65,wherein one of the one or more data elements comprises a task identifiervalue.
 75. The method of collecting data directed to a specializedsoftware program of claim 65, wherein one of the one or more dataelements comprises a narrative description value.
 76. The method ofcollecting data directed to a specialized software program of claim 65,wherein the specialized software program is selected from the groupconsisting of a time entry application, an accounting application, ahuman resources application, and a customer relationship managementapplication.
 77. The method of collecting data directed to a specializedsoftware program of claim 65, wherein processing the instructions andthe data elements extracted from the surrogate e-mail address for use bythe specialized software program comprises: translating the instructionsfrom the surrogate e-mail address for execution by the specializedsoftware program; translating the data elements from the surrogatee-mail address for use by the specialized software program; andproviding the translated instructions and translated data elements tothe specialized software program.
 78. The method of collecting datadirected to a specialized software program of claim 65, whereinreceiving a surrogate e-mail address comprises receiving an e-mailmessage addressed at least to the surrogate e-mail address and whereinthe method further comprises: extracting from the e-mail message one ormore instructions directed to the specialized software program;extracting from the e-mail message one or more data elements directed tothe specialized software program; and processing the instructions andthe data elements extracted from the e-mail message for use by thespecialized software program.
 79. The method of collecting data directedto a specialized software program of claim 78, wherein processing theinstructions and the data elements extracted from the e-mail message foruse by the specialized software program comprises: translating theinstructions from the e-mail message for execution by the specializedsoftware program; translating the data elements from the e-mail messagefor use by the specialized software program; and providing thetranslated instructions and translated data elements to the specializedsoftware program.
 80. The method of collecting data directed to aspecialized software program of claim 79, wherein receiving thesurrogate e-mail address comprises receiving the e-mail message from ane-mail server via a network.
 81. The method of collecting data directedto a specialized software program of claim 79, wherein receiving thesurrogate e-mail address comprises receiving the e-mail message from ane-mail server connected to the message server and wherein providing thetranslated instructions and translated data elements to the specializedsoftware program comprises sending the translated instructions andtranslated data elements to the specialized software program via anetwork.
 82. The method of collecting data directed to a specializedsoftware program of claim 78, wherein the e-mail message comprises ameeting invitation message.
 83. A method of collecting data directed toa specialized software program, the method comprising: monitoring ane-mail server for activity reportable to the specialized softwareprogram, wherein a reportable activity comprises associating a surrogatee-mail address with an information record; in the event reportableactivity is detected, receiving the surrogate e-mail address and theinformation record; extracting from the surrogate e-mail address and theinformation record one or more instructions directed to the specializedsoftware program; extracting from the surrogate e-mail address and theinformation record one or more data elements directed to the specializedsoftware program; and processing the instructions and the data elementsextracted from the surrogate e-mail address and the information recordfor use by the specialized software program.
 84. The method ofcollecting data directed to a specialized software program of claim 83,wherein one of the one or more instructions comprises an add command.85. The method of collecting data directed to a specialized softwareprogram of claim 83, wherein one of the one or more instructionscomprises a delete command.
 86. The method of collecting data directedto a specialized software program of claim 83, wherein one of the one ormore instructions comprises an update command
 87. The method ofcollecting data directed to a specialized software program of claim 83,wherein one of the one or more data elements comprises a start timevalue.
 88. The method of collecting data directed to a specializedsoftware program of claim 83, wherein one of the one or more dataelements comprises a stop time value.
 89. The method of collecting datadirected to a specialized software program of claim 83, wherein one ofthe one or more data elements comprises a duration time value.
 90. Themethod of collecting data directed to a specialized software program ofclaim 83, wherein one of the one or more data elements comprises aclient identifier value.
 91. The method of collecting data directed to aspecialized software program of claim 83, wherein one of the one or moredata elements comprises a project identifier value.
 92. The method ofcollecting data directed to a specialized software program of claim 83,wherein one of the one or more data elements comprises a task identifiervalue.
 93. The method of collecting data directed to a specializedsoftware program of claim 83, wherein one of the one or more dataelements comprises a narrative description value.
 94. The method ofcollecting data directed to a specialized software program of claim 83,wherein the specialized software program is selected from the groupconsisting of a time entry application, an accounting application, ahuman resources application, and a customer relationship managementapplication.
 95. The method of collecting data directed to a specializedsoftware program of claim 83, wherein associating a surrogate e-mailaddress with an information record comprises saving an e-mail messageaddressed at least to the surrogate e-mail address.
 96. The method ofcollecting data directed to a specialized software program of claim 83,wherein associating a surrogate e-mail address with an informationrecord comprises saving a meeting invitation message addressed at leastto the surrogate e-mail address.
 97. The method of collecting datadirected to a specialized software program of claim 83, whereinprocessing the instructions and the data elements extracted from thesurrogate e-mail address and the information record for use by thespecialized software program comprises: translating the instructionsfrom the surrogate e-mail address and the information record forexecution by the specialized software program; translating the dataelements from the surrogate e-mail address and the information recordfor use by the specialized software program; and providing thetranslated instructions and translated data elements to the specializedsoftware program.
 98. A system for data collection comprising a messageagent and a message server, wherein: the message server is adapted to:receive one or more data elements from a specialized software program;generate a surrogate e-mail address from at least one of the one or moredata elements; and send the surrogate e-mail address to the messageagent; and the message agent is adapted to: receive the surrogate e-mailaddress; and store the surrogate e-mail address in a directory.
 99. Thesystem for data collection of claim 98, wherein the specialized softwareprogram is selected from the group consisting of a time entryapplication, an accounting application, a human resources application,and a customer relationship management application.
 100. A system forexecution of commands in a specialized software program, the systemcomprising: a surrogate e-mail address; and a message server, themessage server adapted to: receive the surrogate e-mail address; extractfrom the surrogate e-mail address one or more instructions directed tothe specialized software program; extract from the surrogate e-mailaddress one or more data elements directed to the specialized softwareprogram; and process the instructions and the data elements extractedfrom the surrogate e-mail address for use by the specialized softwareprogram.
 101. The system for execution of commands in a specializedprogram of claim 100, wherein one of the one or more instructionscomprises an add command.
 102. The system for execution of commands in aspecialized program of claim 100, wherein one of the one or moreinstructions comprises a delete command.
 103. The system for executionof commands in a specialized program of claim 100, wherein one of theone or more instructions comprises an update command
 104. The system forexecution of commands in a specialized program of claim 100, wherein oneof the one or more data elements comprises a start time value.
 105. Thesystem for execution of commands in a specialized program of claim 100,wherein one of the one or more data elements comprises a stop timevalue.
 106. The system for execution of commands in a specializedprogram of claim 100, wherein one of the one or more data elementscomprises a duration time value.
 107. The system for execution ofcommands in a specialized program of claim 100, wherein one of the oneor more data elements comprises a client identifier value.
 108. Thesystem for execution of commands in a specialized program of claim 100,wherein one of the one or more data elements comprises a projectidentifier value.
 109. The system for execution of commands in aspecialized program of claim 100, wherein one of the one or more dataelements comprises a task identifier value.
 110. The system forexecution of commands in a specialized program of claim 100, wherein oneof the one or more data elements comprises a narrative descriptionvalue.
 111. The system for execution of commands in a specializedprogram of claim 100, wherein the specialized software program isselected from the group consisting of a time entry application, anaccounting application, a human resources application, and a customerrelationship management application.
 112. The system for execution ofcommands in a specialized program of claim 100, wherein to process theinstructions and the data elements extracted from the surrogate e-mailaddress for use by the specialized software program comprises:translating the instructions extracted from the surrogate e-mail addressfor execution by the specialized software program; translating the dataelements extracted from the surrogate e-mail address for use by thespecialized software program; and providing the translated instructionsand translated data elements to the specialized software program. 113.The system for execution of commands in a specialized program of claim100, wherein the system further comprises an e-mail message, the e-mailmessage addressed at least to the surrogate e-mail address, and whereinthe message server is further adapted to: extract from the e-mailmessage instructions directed to the specialized software program;extract from the e-mail message data elements directed to thespecialized software program; and process the instructions and the dataelements extracted from the e-mail message for use by the specializedsoftware program.
 114. The system for execution of commands in aspecialized program of claim 113, wherein to process the instructionsand the data elements extracted from the e-mail message for use by thespecialized software program comprises: translating the instructionsextracted from the e-mail message for execution by the specializedsoftware program; translating the data elements extracted from thee-mail message for use by the specialized software program; andproviding the translated instructions and translated data elements tothe specialized software program.
 115. The system of data collection ofclaim 113, wherein the e-mail message comprises a meeting invitationmessage.
 116. A method for executing commands in a specialized softwareprogram, the method comprising: receiving a surrogate e-mail address;extracting from the surrogate e-mail address one or more instructionsdirected to the specialized software program; extracting from thesurrogate e-mail address one or more data elements directed to thespecialized software program; and processing the instructions and thedata elements extracted from the surrogate e-mail address for use by thespecialized software program.
 117. The method of collecting datadirected to a specialized software program of claim 116, wherein one ofthe one or more instructions comprises an add command.
 118. The methodof collecting data directed to a specialized software program of claim116, wherein one of the one or more instructions comprises a deletecommand.
 119. The method of collecting data directed to a specializedsoftware program of claim 116, wherein one of the one or moreinstructions comprises an update command
 120. The method of collectingdata directed to a specialized software program of claim 116, whereinone of the one or more data elements comprises a start time value. 121.The method of collecting data directed to a specialized software programof claim 116, wherein one of the one or more data elements comprises astop time value.
 122. The method of collecting data directed to aspecialized software program of claim 116, wherein one of the one ormore data elements comprises a duration time value.
 123. The method ofcollecting data directed to a specialized software program of claim 116,wherein one of the one or more data elements comprises a clientidentifier value.
 124. The method of collecting data directed to aspecialized software program of claim 116, wherein one of the one ormore data elements comprises a project identifier value.
 125. The methodof collecting data directed to a specialized software program of claim116, wherein one of the one or more data elements comprises a taskidentifier value.
 126. The method of collecting data directed to aspecialized software program of claim 116, wherein one of the one ormore data elements comprises a narrative description value.
 127. Themethod of collecting data directed to a specialized software program ofclaim 116, wherein the specialized software program is selected from thegroup consisting of a time entry application, an accounting application,a human resources application, and a customer relationship managementapplication.
 128. The method of collecting data directed to aspecialized software program of claim 116, wherein processing theinstructions and the data elements extracted from the surrogate e-mailaddress for use by the specialized software program comprises:translating the instructions from the surrogate e-mail address forexecution by the specialized software program; translating the dataelements from the surrogate e-mail address for use by the specializedsoftware program; and providing the translated instructions andtranslated data elements to the specialized software program.
 129. Themethod of collecting data directed to a specialized software program ofclaim 116, wherein receiving a surrogate e-mail address comprisesreceiving an e-mail message addressed at least to the surrogate e-mailaddress and wherein the method further comprises: extracting from thee-mail message one or more instructions directed to the specializedsoftware program; extracting from the e-mail message one or more dataelements directed to the specialized software program; and processingthe instructions and the data elements extracted from the e-mail messagefor use by the specialized software program.
 130. The method ofcollecting data directed to a specialized software program of claim 129,wherein processing the instructions and the data elements extracted fromthe e-mail message for use by the specialized software programcomprises: translating the instructions from the e-mail message forexecution by the specialized software program; translating the dataelements from the e-mail message for use by the specialized softwareprogram; and providing the translated instructions and translated dataelements to the specialized software program.
 131. The method ofcollecting data directed to a specialized software program of claim 129,wherein the e-mail message comprises a meeting invitation message. 132.A system for data collection comprising: a message server, the messageserver adapted: to monitor an e-mail server for e-mail messagesaddressed at least to a surrogate e-mail address; and to process thee-mail message according to a template; and to send the e-mail messageto a data server; and the data server, the data server adapted to:receive the e-mail message; extract from the surrogate e-mail addressand the e-mail message one or more instructions directed to aspecialized software program, extract from the surrogate e-mail addressand the e-mail message one or more data elements directed to thespecialized software program; and process the instructions and the dataelements extracted from the surrogate e-mail address for use by thespecialized software program.
 133. The system of data collection ofclaim 132, wherein one of the one or more instructions comprises an addcommand.
 134. The system of data collection of claim 132, wherein one ofthe one or more instructions comprises a delete command.
 135. The systemof data collection of claim 132, wherein one of the one or moreinstructions comprises an update command
 136. The system of datacollection of claim 132, wherein one of the one or more data elementscomprises a start time value.
 137. The system of data collection ofclaim 132, wherein one of the one or more data elements comprises a stoptime value.
 138. The system of data collection of claim 132, wherein oneof the one or more data elements comprises a duration time value. 139.The system of data collection of claim 132, wherein one of the one ormore data elements comprises a client identifier value.
 140. The systemof data collection of claim 132, wherein one of the one or more dataelements comprises a project identifier value.
 141. The system of datacollection of claim 132, wherein one of the one or more data elementscomprises a task identifier value.
 142. The system of data collection ofclaim 132, wherein one of the one or more data elements comprises anarrative description value.
 143. The system of data collection of claim132, wherein to process the e-mail message according to a templatecomprises blocking the e-mail message.
 144. The system of datacollection of claim 132, wherein to process the e-mail message accordingto a template comprises removing content from the e-mail message. 145.The system of data collection of claim 132, wherein to process thee-mail message according to a template comprises adding content to thee-mail message.
 146. The system of data collection of claim 132, whereinthe specialized software program is selected from the group consistingof a time entry application, an accounting application, a humanresources application, and a customer relationship managementapplication.
 147. The system of data collection of claim 132, wherein toprocess the instructions and the data elements comprises: translatingthe instructions for execution by the specialized software program;translating the data elements for use by the specialized softwareprogram; and providing the translated instructions and translated dataelements to the specialized software program.
 148. The system of datacollection of claim 132, wherein the e-mail message comprises a meetinginvitation message.